const cluster=require('cluster');// node 多核能力
const http=require('http');
// const { Http2ServerRequest } = require('http2');
// http 服务器 1314 nginx(多线程) 代理 <- http 80 Proxy 
// www.baidu.com/a/b -> dns ip -> nginx 服务器 80
// location /
//     {
//         proxy_pass http://127.0.0.1:1314
//     }
// 一台服务器的多线程 功能
const numCPUs=require('os').cpus().length;
// console.log(numCPUs);
// 管理 

if(cluster.isMaster){ // 主线程
    console.log(`主线程${process.pid} 正在运行`);// 
    for(let i=0;i<numCPUs;i++){
        cluster.fork();// 每个CPU 就像主线程一样来工作了
    }
}else{
    // 工作进程可以共享TCP/HTTP 服务
    http.createServer((req,res)=>{
        res.writeHead(200,{'Content-Type':'text/plain;charset=UTF8'});
        res.end(`你好世界${process.pid}\n`);
    }).listen(8000)
    console.log(`工作进程${process.pid} 已启动`)
}